Implementing Row Version Verification for Persistence Middleware using SQL Access Patterns
نویسندگان
چکیده
Modern web-based applications are often built as multi-tier architecture using persistence middleware. Middleware technology providers recommend the use of Optimistic Concurrency Control (OCC) mechanism to avoid the risk of blocked resources. However, most vendors of relational database management systems implement only locking schemes for concurrency control. As a consequence a kind of OCC has to be implemented at client or middleware side. The aim of this paper is to recommend Row Version Verification (RVV) as a mean to realize an OCC at the middleware level. To help the developers with the implementation of RVV we propose to use SQL access patterns. For performance reasons the middleware uses buffers (cache) of its own to avoid network traffic and to reduce disk I/O. This caching, however, complicates the use of RVV because the data in the middleware cache may be stale (outdated). We investigate various data access technologies, including the Java Persistence API and Microsoft’s LINQ technologies in combination with commercial database systems for their ability to use the RVV programming discipline. The use of persistence middleware that tries to relieve the programmer from the low level transaction programming turns out to even complicate the situation in some cases. The contribution of this paper are patterns and guidelines for an implementation of OCC at the middleware layer using RVV. Our approach prevents from inconsistencies, reduces locking to a minimum, considers a couple of mainstream technologies, and copes with the effects of concurrency protocols, data access technologies, and caching mechanisms. Keywords-persistence middleware, caching, data access pattern, row version verification.
منابع مشابه
Access control in ultra-large-scale systems using a data-centric middleware
The primary characteristic of an Ultra-Large-Scale (ULS) system is ultra-large size on any related dimension. A ULS system is generally considered as a system-of-systems with heterogeneous nodes and autonomous domains. As the size of a system-of-systems grows, and interoperability demand between sub-systems is increased, achieving more scalable and dynamic access control system becomes an im...
متن کاملAnalyzing and Completing Middleware Designs for Enterprise Integration Using Coloured Petri Nets
Enterprise Integration Patterns allow us to design a middleware system conceptually before actually implementing it. So far, the in-depth analysis of such a design was not feasible, as these patterns are only described informally. We introduce a translation of each of these patterns into a Coloured Petri Net, which allows to investigate and improve middleware system designs in early stages of d...
متن کاملA CORBA Persistent State Service based on a UML Model to a Relational Database Mapping
In recent years, middleware industry, and particularly the CORBA project, have strongly integrated several aspects derived from databases: persistence, transaction management, security, etc. However, there still is a conceptual ”impedance mismatch” between the CORBA concepts and the concepts used in connection with databases (often referred to as a foundation of persistence). Bridging this gap ...
متن کاملRDF(S) Manipulation, Storage and Querying using Sesame Demo Proposal
Sesame [2] is an RDF framework with support for RDF Schema inferencing. Its main features include querying in three languages (SeRQL, RDQL, RQL), parsing and writing in several serialization syntaxes, support for MySQL, PostgreSQL, Oracle and SQL server as well as in-memory. It can be deployed as an RDF database, with persistence in an RDBMS, or as a Java library for embedded use in application...
متن کاملFine-Grained Data Security in Virtual Organizations
Controlling the access to data based on user credentials is a fundamental part of database management systems. In most cases, the level at which information is controlled extends only to a certain level of granularity. In some scenarios, however, there is a requirement to control access at a more granular way allowing the users to see only the data they are supposed to see in a database table. ...
متن کامل